home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr36 / mapl0301.zip / ALIAS.BAS next >
BASIC Source File  |  1993-04-13  |  8KB  |  189 lines

  1. ' $linesize:132
  2. ' $title: 'Alias sub for Maple street version of RBBS'
  3. ' $INCLUDE: 'RBBS-VAR.MOD'
  4. '
  5. ' $SUBTITLE: 'AliasChk - Checks whether ALIAS exists'
  6. ' $PAGE
  7. '
  8. '  SUBROUTINE NAME    -- AliasChk
  9. '
  10. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  11. '                         WhoFind$                    ALIAS to find
  12. '
  13. '  OUTPUT PARAMETERS  --  WhoFound                    Whether ALIAS found
  14. '                         UserNumFound                Record # of User
  15. '
  16. '  SUBROUTINE PURPOSE --  Validate that ALIAS exists.  Get User Record
  17. '
  18. 2257 SUB AliasChk (WhoFind$,WhoFound,UserNumFound) STATIC         'Mpl-ALias
  19.      If WhoFound = Ztrue Then Exit Sub                            'Mpl-Alias2
  20.      CALL BreakFileName (ZMainUserFile$,Drive$,Prefix$,Ext$,ZTrue)    '
  21.      DgsTemp = INSTR(ZConfName$," ")                                  '
  22.      IF DgsTemp > 0 THEN _                                            '
  23.       DgsFileName$ = Drive$ + LEFT$(ZConfName$,DgsTemp-1) + "A.DEF" _ '
  24.      ELSE DgsFileName$ = Drive$ + ZConfName$ + "A.DEF"                '
  25.      CALL FindIt (DgsFileName$)                                       '
  26.      IF NOT ZOK THEN _                                                '
  27.         EXIT SUB                                                      '
  28. Call OpenWork (7,DgsFileName$)
  29.      WhoFound=ZFalse                       'Mpl-Alias2
  30.      DgsAlias$ = ""                                                   '
  31.      WHILE DgsAlias$ = "" AND NOT EOF(7)                              '
  32.         INPUT #7, DgsUserName$, DgsTempAlias$                         '
  33.         IF Instr(DgsTempAlias$,WhoFind$) > 0 THEN                  'Mpl-Alis2
  34.           ZSubParm = 1
  35.           ZOutTxt$ = "Send to "+ DgsTempAlias$ +"([Y],N) "
  36.           Call Tget                            
  37.            If ZSubParm = -1 Then _
  38.               Exit Sub
  39.            If ZWasQ=0 Then ZYes = ZTrue
  40.                If Zyes Then 
  41.                   WhoFound = ZTrue                     'Pe 04/04/92
  42.                   WhoFind$ = DgsTempAlias$
  43.                   DgsAlias$ = DgsUserName$ 
  44.                End If
  45.           END IF                                                       '
  46.      WEND                                                              '
  47.      CLOSE 7                                                           '
  48.    END SUB                                                             '
  49. 59750' $SUBTITLE: 'AliasDgs - Subroutine to Create/Update Alias Info file'
  50. ' $PAGE
  51. '
  52. '  SUBROUTINE NAME    -- DgsAlias
  53. '
  54. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  55. '                         ZConfName$                  CONFERENCE NAME
  56. '                         ZOrigUserNameDgs$           USERS - LOG ON NAME
  57. '                         DgsAlias$                   USERS - ALIAS NAME
  58. '                         DgsStl$                     NULL FIRST TIME IN
  59. '                                                     'STILL' IF ALIAS EXISTS
  60. '                                                        OR REAL NAME
  61. '                         DgsFileName$                CONFERENCE ALIAS FILE
  62. '
  63. '  OUTPUT PARAMETERS  --  ZConfName$ ZOrigUserNameDgs$ DgsAlias$ DgsStl$
  64. '                         DgsFileName$
  65. '
  66. '  SUBROUTINE PURPOSE --  TO Read ConfA.DEF and Get Users ALIAS or
  67. '                         Create One
  68. '
  69.      SUB AliasDgs (ZConfName$,ZOrigUserNameDgs$,DgsAlias$,DgsStl$,DgsFileName$) STATIC
  70. '
  71.      IF DgsStl$ = "" THEN
  72.         ConfADefFlag = 0
  73.         CALL BreakFileName (ZMainUserFile$,Drive$,Prefix$,Ext$,ZTrue)
  74.         DgsFileName$ = Drive$ + ZConfName$ + "A.DEF"
  75.         CALL FindIt (DgsFileName$)
  76.         IF ZOK THEN
  77.            ConfADefFlag = ZTrue
  78.         END IF
  79.         IF ConfADefFlag = ZTrue THEN
  80.          Call OpenWork (7,DgsFileName$)
  81.            DgsAlias$ = ""
  82.            WHILE DgsAlias$ = "" AND NOT EOF(7)
  83.               INPUT #7, DgsUserName$, DgsTempAlias$
  84.               DgsUnl = LEN(DgsUserName$)
  85.               IF DgsUserName$ = LEFT$(ZOrigUserNameDgs$,DgsUnl) THEN
  86.                  DgsAlias$ = DgsTempAlias$
  87.               END IF
  88.            WEND
  89.            CLOSE 7
  90.         ELSE
  91.            DgsAlias$ = "NO CONFA.DEF"
  92.            EXIT SUB
  93.         END IF
  94.      END IF
  95.      CALL GoodAls (ZConfName$,ZOrigUserNameDgs$,DgsAlias$,DgsStl$,DgsFileName$)
  96.      END SUB
  97. '
  98. '
  99. ' $SUBTITLE: 'GoodAls - Subroutine to Make Sure Alias Good'
  100. ' $PAGE
  101. '
  102. '  SUBROUTINE NAME    -- GoodAls
  103. '
  104. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  105. '                         ZConfName$                  CONFERENCE NAME
  106. '                         ZOrigUserNameDgs$           USERS - LOG ON NAME
  107. '                         DgsAlias$                   USERS - ALIAS NAME
  108. '                         DgsStl$                     NULL FIRST TIME IN
  109. '                                                      'STILL' IF ALIAS EXISTS
  110. '                                                         OR REAL NAME
  111. '                         DgsFileName$                CONFERENCE ALIAS FILE
  112. '
  113. '  OUTPUT PARAMETERS  --  ZConfName$ ZOrigUserNameDgs$ DgsAlias$ DgsStl$
  114. '                         DgsFileName$
  115. '
  116. '  SUBROUTINE PURPOSE --  To Read ConfA.DEF and see if Users ALIAS is
  117. '                         Aready in Use or a Real Name
  118. '
  119.      SUB GoodAls (ZConfName$,ZOrigUserNameDgs$,DgsAlias$,DgsStl$,DgsFileName$) STATIC
  120. '
  121.      IF DgsAlias$ = "" THEN
  122.         DgsSfnSln$ = ZSysopFirstName$+" "+ZSysopLastName$
  123.         ZOutTxt$ = "Do you" +DgsStl$+ " want to use an Alias? (Y,[N])"
  124.         ZSubParm = 1
  125.         CALL TGet
  126.         IF ZYes THEN
  127.            ABFlg$ = ""
  128.            ZOutTxt$ = "Enter Alias (31 Char. Max.) "
  129.            ZSubParm = 1
  130.            CALL TGet
  131.            CALL AllCaps (ZUserIn$)
  132.            IF ZUserIn$ = "" OR INSTR(SPACE$(31),ZUserIn$) > 0 THEN
  133.               ZUserIn$ = ""
  134.               ABFlg$ = "Alias Must NOT be Blank"
  135.            END IF
  136.            IF LEN(ZUserIn$) > 31 THEN
  137.               ZUserIn$= ""
  138.               ABFlg$ = "Length Must NOT Exceed 31 Characters"
  139.            END IF
  140.            IF ZUserIn$ = "SYSOP" OR ZUserIn$ = DgsSfnSln$ THEN
  141.               ZOutTxt$ = CHR$(7)+CHR$(7)
  142.               ZOutTxt$ = ZOutTxt$ + "Wrong Answer! Alias Request Denied!"
  143.               ZOutTxt$ = ZOutTxt$ + CHR$(13) + "Contact Sysop for Alias Retry"
  144.               CALL QuickTPut (ZOutTxt$,2)
  145.               DgsAlias$ = ZOrigUserNameDgs$+CHR$(250)
  146.               ZActiveUserName$ = ZOrigUserNameDgs$+CHR$(250)
  147.               ZFirstName$ = ZOrigUserNameDgs$+CHR$(250)
  148.            ELSE
  149.               Call OpenWork (7,DgsFileName$)
  150.               WHILE ABFlg$ = "" AND NOT EOF(7)
  151.               INPUT #7, DgsUserName$, DgsTempAlias$
  152.               IF ZUserIn$ = DgsUserName$ THEN
  153.                  ABFlg$ = " is a Real User"
  154.               ELSE
  155.                  IF ZUserIn$ = DgsTempAlias$ THEN
  156.                     ABFlg$ = " has Already been Used"
  157.                  END IF
  158.               END IF
  159.               WEND
  160.               CLOSE 7
  161.               IF ABFlg$="" THEN
  162.                  DgsAlias$ = ZUserIn$
  163.                  ZActiveUserName$ = ZUserIn$
  164.                  ZFirstName$ = ZUserIn$
  165.               ELSE
  166.                  ZOutTxt$="Sorry "+ZFirstName$+" but "+ZUserIn$+ABFlg$
  167.                  CALL QuickTPut (ZOutTxt$,1)
  168.                  DgsStl$ = " still"
  169.                  DgsAlias$ = ""
  170.               END IF
  171.           END IF
  172.         ELSE
  173.            DgsAlias$ = ZOrigUserNameDgs$
  174.         END IF
  175.         IF DgsAlias$ <> "" THEN
  176.            CLOSE 2
  177.            FOR I = 1 TO LEN(DgsAlias$)
  178.               IF MID$(DgsAlias$,I,1)=CHR$(34) THEN MID$(DgsAlias$,I,1)=CHR$(39)
  179.            NEXT I
  180.            Call OpenWorkA (DgsFileName$)
  181.            WRITE #2, ZOrigUserNameDgs$, DgsAlias$
  182.            CLOSE 2
  183.         END IF
  184.       ELSE
  185.         ZActiveUserName$ = DgsAlias$
  186.         ZFirstName$ = DgsAlias$
  187.       END IF
  188.       END SUB
  189.